package Gerenciar;

import bd.Conexao;
import entidades.Parceria;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import org.hibernate.Session;

/**
 * @author Guilherme Roberty
 */
public class GerenciarParceria {

    public static boolean gravar(Parceria p) {
        try {
            Session session = DaoHibernateUtil.getSessionFactory().openSession();
            session.beginTransaction();
            session.saveOrUpdate(p);
            session.getTransaction().commit();
            session.close();
            return true;
        } catch (Exception e) {
            System.out.println(e);
            return false;
        }
    }

    public static List<Parceria> trazerCidade(Parceria parceria) {
        Session session = DaoHibernateUtil.getSessionFactory().openSession();
        List<Parceria> parcerias = session.createQuery("from parceria").list();
        return parcerias;
    }

    public static List<Parceria> trazerParceria() {
        Session session = DaoHibernateUtil.getSessionFactory().openSession();
        List<Parceria> parcerias = session.createQuery("From Parceria").list();
        return parcerias;
    }

    public static boolean excluir(Parceria p) {
        try {
            Session session = DaoHibernateUtil.getSessionFactory().openSession();
            session.beginTransaction();
            session.delete(p);
            session.getTransaction().commit();
            session.close();
            return true;
        } catch (Exception e) {
            return false;
        }
    }

    public static int ultimoId() {
        String sql = "SELECT max(id) as id FROM parceria;";
        ResultSet rs = Conexao.getInstance().selecionar(sql);
        int id = 0;
        try {
            if (rs.next()) {
                id = rs.getInt("id");
            }
        } catch (SQLException ex) {
            Logger.getLogger(GerenciarParceria.class.getName()).log(Level.SEVERE, null, ex);
        }
        return id;
    }

    public static Parceria trazerParceria(int id) {
        Session session = DaoHibernateUtil.getSessionFactory().openSession();
        Parceria parcerias = (Parceria) session.createQuery("FROM Parceria WHERE id=" + id);
        return parcerias;
    }
}
